Bashcript ile Linux üzerinde Timer(Zamanlayıcı) Yapımı
Linux üzerinde Timer(Zamanlayıcı) yapmak oldukça kolay, ben zamanı gelince bir mp3 dosyası çalarak alarm veren bir zamanlayıcı ihtiyacı duydum. Telefonda filan da zaten uygulamaları var ama bu mantığı birçok yerde kullanabilirsiniz. Örneğin belli aralıklarla çalışan bir okul zili yapabilirsiniz.
Daha önce hiç bashscript yazmamışsanız korkmayın, oldukça kolay ve sade bir yapısı var.
Şimdi Linux üzerinde mp3 dosyaları çalmak için birçok uygulama var, örneğin mpg123, aplay, cvlc, mplayer gibi. Ama en basitinen play alarmsabah.mp3 şeklinde komuttan play yanına mp3 dosyasının adını yazdığımızda çalışması için aşağıdaki kütüphaneleri ubuntu Linux üzerine kuralım, Debian ailesinden Pardus gibi başka Linux versiyonları üzerinde de deneyebilirsiniz.
Şimdi CTRL+ALT+T ile Ubuntu'da bir terminal(sonlandırıcı) ekranı açalım ve aşağıdaki komutları yazalım.
sudo apt install sox
sudo apt install libsox-fmt-mp3
Ardından internetten bir alarmsabah.mp3 dosyası indirelim, bilgisayarınızdaki herhangi bir mp3 dosyası da olur, ismini alarmsabah.mp3 olarak değiştirebilirsiniz, çünkü kod içinde bu ismi verdik. Ardından yine terminal ekranında test.sh isimli bir dosya oluşturup içine kodlarımızı yazalım. Ben nano editörü kullandığım için aşağıdaki komutu verdim. Varsayılan olarak terminal /home klasöründe açılacağı için dosyalarınız burada oluşturulacaktır. Terminalde hangi klasörde olduğunu görmek için pwd yazıp Enter'a basabilirsiniz. Şimdi nano editörümüzü aşağıdaki komutla açalım.
sudo nano test.sh
Aşağıdaki kodları kopyalayıp yapıştırabilirsiniz. Kodlarımızı CTRL+C ile buradan kopyalayıp CTRL+V ile nano editörüne yapıştırdıktan sonra CTRL+X ile çıkabilirsiniz. Size "Save modified buffer?" şeklinde bir soru soracak, YES(Y) yani sadece Y tuşuna basıp çıkabilirsiniz.
#!/usr/bin/bash
tput clear
clock() {
while sleep 1; do
tput sc
tput cup 0 $(($(tput cols)/3))
tput rev
date
tput rc
done
}
read -p "Saniye giriniz(Enter seconds): " tm
clock &
clock_pid=$!
while sleep 1; do
tm=$(($tm - 1))
if [ "$tm" -lt 1 ]; then
kill "$clock_pid"
echo -e ''$_{1..70}'\b─'
echo -e ''$"TIME IS UP"{1..6}'\b '
echo -e ''$_{1..70}'\b─'
play "alarmsabah.mp3"
exit
fi
done
Kodlarımızı yazdıktan sonra ls komutu ile dizin içini listeleyip dosyaları görebilirsiniz. Oluşturduğumuz test.sh ve alarm.mp3 dosyası aynı klasörde olmalıdır. Ardından aşağıdaki komutla çalıştırabilirsiniz.
bash test.sh
Ardından sizden saniye girmeniz istenecektir. Saniyeyi 5 saniye girerek sonuca görebilirsiniz. Artık bundan sonra kaç dakikada isterseniz onun 60 katını saniye olarak girip çalıştırabilirsiniz.
Mutlu Kodlamalar,
Oğuzhan TAŞ
Ağustos, 2024
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?